package com.icinfo.cloud.provider.punish.strategy.document;

import com.icinfo.cloud.provider.punish.document.annotations.DocumentParamConvert;
import com.icinfo.cloud.provider.punish.document.dto.PrintDocumentBuildDto;
import com.icinfo.cloud.provider.punish.print.vo.PrintDocumentVo;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * 送达地址确认文书参数
 *
 * @author Junfeng.Chen
 * @date 2024/1/15 8:49
 **/
@Data
@Slf4j
public class SddzqrsDocumentParam implements BaseDocumentParam {

    /**
     * 单位名称
     */
    @DocumentParamConvert(narrow = "SDDZQRS_BADW", standard = "SDDZQRS_BADW")
    private String orgStandardName;

    /**
     * 案件名称
     */
    @DocumentParamConvert(narrow = "caseName", standard = "caseName")
    private String caseName;

    /**
     * 立案案号
     */
    @DocumentParamConvert(narrow = "caseNumber", standard = "caseNumber")
    private String caseNumber;

    /**
     * 地址
     */
    @DocumentParamConvert(narrow = "SDDZQRS_DZ", standard = "SDDZQRS_DZ")
    private String address;

    /**
     * 邮编
     */
    @DocumentParamConvert(narrow = "SDDZQRS_YB", standard = "SDDZQRS_YB")
    private String postcode;

    /**
     * 收件人
     */
    @DocumentParamConvert(narrow = "SDDZQRS_SJR", standard = "SDDZQRS_SJR")
    private String partyName;

    /**
     * 电话
     */
    @DocumentParamConvert(narrow = "SDDZQRS_DH", standard = "SDDZQRS_DH")
    private String telephone;

    /**
     * 代收人
     */
    @DocumentParamConvert(narrow = "SDDZQRS_DSR", standard = "SDDZQRS_DSR")
    private String substitutePerson;

    /**
     * 与本人关系
     */
    @DocumentParamConvert(narrow = "SDDZQRS_GX", standard = "SDDZQRS_GX")
    private String relationship;

    /**
     * 代收人地址
     */
    @DocumentParamConvert(narrow = "SDDZQRS_DSDZ", standard = "SDDZQRS_DSDZ")
    private String substituteAddress;

    /**
     * 代收人邮编
     */
    @DocumentParamConvert(narrow = "SDDZQRS_DSQB", standard = "SDDZQRS_DSQB")
    private String substitutePostcode;

    /**
     * 手机号码
     */
    @DocumentParamConvert(narrow = "SDDZQRS_SJHM", standard = "SDDZQRS_SJHM")
    private String mobile;

    /**
     * 传真
     */
    @DocumentParamConvert(narrow = "SDDZQRS_CZ", standard = "SDDZQRS_CZ")
    private String fax;

    /**
     * 电子邮箱
     */
    @DocumentParamConvert(narrow = "SDDZQRS_DZYX", standard = "SDDZQRS_DZYX")
    private String email;


    /**
     * 其他方式及码址
     */
    @DocumentParamConvert(narrow = "SDDZQRS_QTDZ", standard = "SDDZQRS_QTDZ")
    private String otherWaysAndAddress;

    /**
     * 其他方式
     */
    @DocumentParamConvert(narrow = "SDDZQRS_QTLXFS", standard = "SDDZQRS_QTLXFS")
    private String otherWays;

    /**
     * 当事人签名
     */
    @DocumentParamConvert(narrow = "signFingerprintPic", standard = "signFingerprintPic")
    private String signFingerprintPic;

    /**
     * 当事人签名时间
     */
    @DocumentParamConvert(narrow = "signFingerprintDate", standard = "signFingerprintDate")
    private String signFingerprintDate;

    /**
     * 主执法人
     */
    @DocumentParamConvert(narrow = "mainHandleSignPic", standard = "mainHandleSignPic")
    private String mainHandleSignPic;

    /**
     * 副执法人
     */
    @DocumentParamConvert(narrow = "assistHandleSignPic", standard = "assistHandleSignPic")
    private String assistHandleSignPic;

    /**
     * 执法人签字时间
     */
    @DocumentParamConvert(narrow = "handlePersonSignDate", standard = "handlePersonSignDate")
    private String handlePersonSignDate;

    /**
     * 备注
     */
    @DocumentParamConvert(narrow = "SDDZQRS_BZ", standard = "SDDZQRS_BZ")
    private String remark;

    /**
     * 不签字原因
     */
    @DocumentParamConvert(narrow = "notSignReason", standard = "notSignReason")
    private String notSignReason;


    @Override
    public PrintDocumentVo assemblyPrintContent(PrintDocumentBuildDto dto) {
        //该文书较复杂，不能使用json， 图片打印暂不处理，后期有需求后对接
        return new PrintDocumentVo(null, null);
    }
}
